Performing a load test on an application involves potentially multiple clients and servers communicating with the application in order to stress the performance of the application. If the application is a user interface, the clients and servers may simulate user interface communications with the application. If the application is a web server, the clients and servers may communicate with web services interfaces, such as Representational State Transfer (REST) Application Program Interfaces (APIs), provided by the application.
Traditionally, load testing setup has been a cumbersome procedure with complicated setups needed to execute loads. One method for solving this problem has been to use virtual machines (VMs). However, setup and cleanup maintenance activities are required for virtual machines. The setup and maintenance of the virtual machines is expensive and time consuming. Further, remnants from prior executions of load tests may remain in the virtual machines. Therefore, there is no assurance that the virtual machines will start in a clean state.